package com.sunyard.manage.service;

import com.sunyard.dal.bo.device.car.CarAuditBO;
import com.sunyard.dal.bo.device.car.CarDeleteBO;
import com.sunyard.dal.bo.PaginationBO;
import com.sunyard.dal.dto.CarCopyDTO;
import com.sunyard.dal.dto.CarCopyResltDTO;
import com.sunyard.dal.dto.CarDTO;
import com.sunyard.dal.dto.CarReslutDTO;
import com.sunyard.dal.entity.Car;
import com.sunyard.dal.entity.CarCopy;
import com.sunyard.utils.Response.BaseResult;
import com.sunyard.utils.manage.DataGrid;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
 * @author: ZhangShuai
 * @description:
 * @create: 2022-07-07 17:49
 **/
public interface CarService {
    BaseResult delete(CarDTO car, HttpServletRequest request);

    BaseResult exportCar(PaginationBO<CarDTO> queryBO, HttpServletRequest request, HttpServletResponse response) throws Exception;

    BaseResult addCarInfo(CarDTO car, HttpServletRequest request) throws Exception;

    BaseResult<Car> updateCar(CarDTO car, HttpServletRequest request);

    BaseResult<DataGrid<CarReslutDTO>> getCarByPage(PaginationBO<CarDTO> queryBO, HttpServletRequest request) throws Exception;

    BaseResult auditCarInfo(CarCopyDTO carCop, HttpServletRequest request);

    BaseResult<DataGrid<CarCopyResltDTO>> queryCarCopyByPage(PaginationBO<CarCopyDTO> queryBO, HttpServletRequest request) throws Exception;

    BaseResult<Map<String, CarCopy>> queryAuditInfo(CarCopyDTO carCopyDTO, HttpServletRequest request) throws Exception;

    BaseResult<List<Car>> queryCarByOrgId(CarDTO carCopyDTO, HttpServletRequest request);

    BaseResult addCar(CarDTO carCopyDTO, HttpServletRequest request);

    BaseResult batchDeleteCar(CarDeleteBO deleteBO, HttpServletRequest request);

    BaseResult batchAuditCarInfo(CarAuditBO carAuditBO, HttpServletRequest request);

}
